function cargar_propietarios() {
	onClickTerrenoMenu("busqueda_propietario");
	var url = "/PropietarioAction.do?metodo=CargarPropietarios";
   	$.ajax({
    	url: url, 
    	dataType: 'json',
    	cache: false,
    	async: true,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (responseText, textStatus , XMLHttpRequest) {
					if(textStatus == "success") {										                    							                       
        				$("#lista_propietarios").unautocomplete().autocomplete(responseText, {
                      		autofill: false,
                      		matchContains: true,
                      		width: 460,
                      		minChars: 0,
                      		scroll: true,
                      		dataType: "json",
                      		parse: function(data) {
		    					return $.map(data, function(row) {							
		    						return {
		    							data: row,
		    							value: row[0],
		    							result: elimina_acentos(row[1])
		    							}
		    						});
		    					},
	    	            	formatItem: function(row, i, max) {
	    	    				return elimina_acentos(row[1]);
	    	    			},
	    	        		formatMatch: function(row, i, max) {
	    	        			return elimina_acentos(row[1]);
	    	        		},
	    	        		formatResult: function(row) {
	    	        			return elimina_acentos(row[1]);
	    	        		}     							                    		
    					});		
    					
	            		$("#lista_propietarios").result(function(event, data, formatted) {	
	            			id_propietario_select = data[0];
							CargarDatosPropietario(id_propietario_select);			        											  	
	            		});				            						            		
					}
    				$("#lista_propietarios").removeClass("cargando");
    				$("#lista_propietarios").focus();
    				OcultarAviso("propietario");
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			Avisos("propietario", "Error al conectar con el sistema. Reinténtelo de nuevo","S",8,"N","S");
			$("#lista_propietarios").removeClass("cargando");
			$("#lista_propietarios").attr("disabled","disabled");
		}				
	});	       	
   	
	var id_propietario_select = 0;
}								

function CargarDatosPropietario(id_propietario) {
	Avisos("propietario", "Cargando Datos Propietario ...", "N",0,"","N");
	limpiar_campos();
	
	var url = "/PropietarioAction.do?metodo=CargarDatosPropietario&id_propietario=" + id_propietario;
   	$.ajax({
    	url: url, 
    	dataType: 'json',
    	cache: false,
    	async: true,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (propietario, textStatus , XMLHttpRequest) {
			id_propietario_select = id_propietario;
			propietario_actual = propietario;
			if(textStatus == "success")
				MostrarDatosPropietario(propietario);
			OcultarAviso("propietario");
    	},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			Avisos("propietario", "Error al conectar con el sistema. Reinténtelo de nuevo","S",8,"N","S");
			onClickTerrenoMenu("datos_propietario");
		}				
	});      	
}

function cargar_estados_propietario() {
	$("#estado_propietarios").addClass("cargando");
	var url = "/PropietarioAction.do?metodo=CargarEstadosPropietario";
   	$.ajax({
    	url: url, 
    	dataType: 'json',
    	cache: false,
    	async: false,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (responseText, textStatus , XMLHttpRequest) {
					if(textStatus == "success") {	
						lista_estados_propietario = responseText;									                    							                       
        				$("#estado").unautocomplete().autocomplete(responseText, {
                      		autofill: false,
                      		matchContains: true,
                      		width: 250,
                      		minChars: 0,
                      		scroll: true,
                      		dataType: "json",
                      		parse: function(data) {
		    					return $.map(data, function(row) {							
		    						return {
		    							data: row,
		    							value: row.id_estado_propietario,
		    							result: row.estado
		    							}
		    						});
		    					},
	    	            	formatItem: function(row, i, max) {
	    	    				return row.estado;
	    	    			},
	    	        		formatMatch: function(row, i, max) {
	    	        			return row.estado;
	    	        		},
	    	        		formatResult: function(row) {
	    	        			return row.estado;
	    	        		}     							                    		
    					});		
        				$("#estado").removeClass("cargando");       				
    					
	            		$("#estado").result(function(event, data, formatted) {	
	            			id_estado_propietario_select = data.id_estado_propietario;	            			
	            		});			        							            		
					}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			Avisos("propietario", "Error al conectar con el sistema. Reinténtelo de nuevo","S",8,"N","S");
		}				
	});	   
}			

function onClickGrabarDatosPropietario() {
	var id_propietario = id_propietario_select;
	var es_sociedad = $("#es_sociedad").attr("checked") ? "S" : "N";
	var nombre_sociedad = "";
	var nombre = "";
	var apellido1 = "";
	var apellido2 = "";
	
	if($("#es_sociedad").attr("checked")) {
		var nif = $("#nif").attr("value");
		if(nif.trim().length == 0) {
			aviso_campos_obligatorios("C.I.F. de la Sociedad");
			return;
		}						
		nombre_sociedad = URLEnc($("#nombre").attr("value"));
		if(nombre_sociedad.trim().length == 0) {
			aviso_campos_obligatorios("Nombre de la Sociedad");
			return;
		}					
	} else {
		var nif = $("#nif").attr("value");
		if(nif.trim().length == 0) {
			aviso_campos_obligatorios("N.I.F. del Propietario");
			return;
		}
		nombre = URLEnc($("#nombre").attr("value"));
		if(nombre.trim().length == 0) {
			aviso_campos_obligatorios("Nombre del Propietario");
			return;
		}
		apellido1 = URLEnc($("#apellido1").attr("value"));
		if(apellido1.trim().length == 0) {
			aviso_campos_obligatorios("Primer Apellido del Propietario");
			return;
		}
		apellido2 = URLEnc($("#apellido2").attr("value"));										
	}				
	var id_estado_propietario =  id_estado_propietario_select;

	var generar_factura =  $("#generar_factura").attr("checked") ? "S" : "N";
	var generar_iva =  $("#generar_iva").attr("checked") ? "S" : "N";
	var numero_pagos_anno = $("#numero_pagos_anno").attr("value");
	if(numero_pagos_anno == "0") {
		alert("<h1>Comprobación de datos del formulario</h1><br /><p>El número mínimo de pagos al año debe ser 1</p>");
		return;
	}
	var observaciones = URLEnc($("#observaciones").attr("value"));

	
	var datos = "&id_propietario=" + id_propietario;
	datos += "&es_sociedad=" + es_sociedad;
	datos += "&nif=" + nif;
	datos += "&nombre=" + nombre;
	datos += "&apellido1=" + apellido1;
	datos += "&apellido2=" + apellido2;
	datos += "&id_estado_propietario=" + id_estado_propietario;
	datos += "&generar_factura=" + generar_factura;
	datos += "&generar_iva=" + generar_iva;
	datos += "&numero_pagos_anno=" + numero_pagos_anno;
	datos += "&observaciones=" + observaciones;
	
	datos += "&calle=" + URLEnc($("#direccion").attr("value"));
	datos += "&codigo_postal=" + URLEnc($("#codigo_postal").attr("value"));
	datos += "&poblacion=" + URLEnc($("#poblacion").attr("value"));
	datos += "&id_provincia=" + id_provincia_select;
	datos += "&id_pais=" + id_pais_select;
	
	datos += "&calle_factura=" + URLEnc($("#direccion_factura").attr("value"));
	datos += "&codigo_postal_factura=" + URLEnc($("#codigo_postal_factura").attr("value"));
	datos += "&poblacion_factura=" + URLEnc($("#poblacion_factura").attr("value"));
	datos += "&id_provincia_factura=" + id_provincia_factura_select;
	datos += "&id_pais_factura=" + id_pais_factura_select;
	

	Avisos("propietario", "Grabando Datos Propietario ...","N",0,"","N");

	var url = "/PropietarioAction.do?metodo=GuardarDatosPropietario" + datos;
					
   	$.ajax({
    	url: url, 
    	type: 'POST',
    	cache: false,
    	async: false,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (responseText, textStatus , XMLHttpRequest) {
					if(textStatus == "success" && responseText == "success")
						Avisos("propietario", "Los Datos se han Grabado Correctamente","S",10,"N","N");
					else
						Avisos("propietario", "Los Datos NO se han Grabado Correctamente","S",15,"N","S");																
   		},		       	
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			Avisos("propietario", "Error al conectar con el sistema. Reinténtelo de nuevo","S",8,"N","S");						
		}			
   	});	
   			   			
}

function MostrarApellidos() {
	if($("#es_sociedad").attr("checked") == true)
		$("#apellidos").css("display","none");
	else
		$("#apellidos").css("display","");
}

function MostrarDatosPropietario(propietario) {
	// Rellenamos el formulario
	if(propietario.sociedad == 'S')
		$("#es_sociedad").attr("checked","checked");										
	else
		$("#es_sociedad").attr("checked","");
	
	MostrarApellidos();										
	
	$("#nif").attr("value",propietario.nif);
	$("#nombre").attr("value",propietario.nombre);
	$("#apellido1").attr("value",propietario.apellido1);
	$("#apellido2").attr("value",propietario.apellido2);
	
	cargar_estados_propietario();
	id_estado_propietario_select = propietario.estado_propietario.id_estado_propietario;
	$("#estado").attr("value",propietario.estado_propietario.estado);

	$("#direccion").attr("value",propietario.direccion.calle);
	$("#codigo_postal").attr("value",propietario.direccion.codigo_postal);
	$("#poblacion").attr("value",propietario.direccion.poblacion);
	
	$("#direccion_factura").attr("value",propietario.datos_facturacion.direccion.calle);
	$("#codigo_postal_factura").attr("value",propietario.datos_facturacion.direccion.codigo_postal);
	$("#poblacion_factura").attr("value",propietario.datos_facturacion.direccion.poblacion);
	
	cargar_paises();																		
	id_pais_select = propietario.direccion.provincia.pais.id_pais;
	id_pais_factura_select = propietario.datos_facturacion.direccion.provincia.pais.id_pais;
	$("#pais").attr("value",propietario.direccion.provincia.pais.nombre);
	$("#pais_factura").attr("value",propietario.datos_facturacion.direccion.provincia.pais.nombre);									
	cargar_provincias();
	id_provincia_select = propietario.direccion.provincia.id_provincia;
	id_provincia_factura_select = propietario.datos_facturacion.direccion.provincia.id_provincia;
	$("#provincia").attr("value",propietario.direccion.provincia.nombre);									
	$("#provincia_factura").attr("value",propietario.datos_facturacion.direccion.provincia.nombre);
	
	$("#generar_factura").attr("checked",(("S" == propietario.datos_facturacion.generar_factura) ? "checked" : ""));
	$("#generar_iva").attr("checked",(("S" == propietario.datos_facturacion.generar_iva) ? "checked" : ""));
	$("#numero_pagos_anno").attr("value",propietario.datos_facturacion.numero_pagos_anno);

	$("#observaciones").attr("value",propietario.observaciones);

	lista_cuentas_propietario = propietario.cuentas_bancarias;
	MostarListaCuentasBancarias();

	var lista_facturas = "";
	lista_facturas_propietario = propietario.facturas;
	$.each(propietario.facturas, function(x) {
		factura = propietario.facturas[x];
		lista_facturas += "<a href='#'>";							
		if("S" == factura.anulada)											
			lista_facturas += "<span style='color: #666;'>";
		lista_facturas += "<label style='float: left; width: 70px;'>" + (factura.anno_facturar);
																				
	});								

	lista_facturas += "<br>";
	$("#lista_facturas").html(lista_facturas);									
	

	var lista_propiedades = "";
	$.each(propietario.propiedades, function(x) {																				
		var propiedad = propietario.propiedades[x];
		if("N" == propiedad.activa)											
			lista_propiedades += "Este propietario no tiene nunguna propiedad actualmente.<br>";
		else {										
			var fecha = formatDate(parseDate(propiedad.fecha.substring(1,11)), "dd/MM/yyyy");										
			lista_propiedades += "<a href='javascript: CargarFinca(" + propiedad.finca.id_finca + ");' id='" + propiedad.finca.id_finca + "' title='" + propiedad.finca.parque.nombre +"' style='cursor: pointer;'>";
			lista_propiedades += "<span style='float: left; width: 280px; text-align: left;'>" + propiedad.finca.numero_finca + "</span>";
			lista_propiedades += "<span style='float: left; width: 160px; text-align: left'>" + fecha  + "</span>"; 
			lista_propiedades += "<span style='float: left; width: 70px; text-align: right;'>" + propiedad.porcentaje + "%</span>";
			lista_propiedades += "</a><br>";
		}
	});

	$("#propiedades").append(lista_propiedades);				
	$("#opciones_fincas").show();

	$("#datos_propietario").css("display","");	
	
	Avisos("propietario","", "S",0);
}

function limpiar_campos() {
	id_propietario_select = 0;
	id_estado_propietario_select = 0;
	id_provincia_select = 0;
	id_provincia_factura_select = 0;
	id_pais_select = 0;
	id_pais_factura_select = 0;
	$("#lista_propietarios").attr("value","");
	$("#guardar_datos").hide();
	$("#nif").attr("value","");
	$("#nombre").attr("value","");
	$("#apellido1").attr("value","");
	$("#apellido2").attr("value","");
	$("#direccion").attr("value","");
	$("#codigo_postal").attr("value","");
	$("#poblacion").attr("value","");
	$("#provincia").attr("value","");
	$("#pais").attr("value","");
	$("#estado").attr("value","");
	$("#observaciones").attr("value","");
	$("#numero_pagos_anno").attr("value","1");
	$("#generar_factura").attr("checked","");
	$("#generar_iva").attr("checked","");
	$("#direccion_factura").attr("value","");
	$("#codigo_postal_factura").attr("value","");
	$("#poblacion_factura").attr("value","");
	$("#provincia_factura").attr("value","");
	$("#pais_factura").attr("value","");
	$("#propiedades").empty();
	$("#opciones_fincas").hide();
	$("#lista_cuentas").empty();
	$("#provincia").empty();
	$("#provincia_factura").empty();
	$("#pais").empty();
	$("#pais_factura").empty();				
}